The need for increased portability of software programs has resulted in increased development and usage of runtime environments. Portability refers to the ability to execute a given software program on a variety of computer platforms having different hardware and operating systems. A runtime environment may be a runtime system and/or virtual machine. The runtime environment allows software programs to be executed by a target execution platform (e.g., hardware and/or an operating system of a computer system) in a platform-independent manner. In particular, source code instructions are not statically compiled and linked directly into native or machine code for execution by the target execution platform. Instead, the instructions are statically compiled into an intermediate language (e.g., byte-code) and the intermediate language may then be interpreted or subsequently compiled by a just-in-time (JIT) compiler within the runtime environment into native or machine code that can be executed by the target execution platform.
Runtime environments, along with other types of systems, sometimes employ pre-fetch operations when allocating memory for use during execution. While different pre-fetch operations vary in complexity and/or scale, pre-fetching generally includes loading a memory location into a cache and/or other type of rapid access memory before a processor needs the instruction(s) or data stored at that memory location. For instance, pre-fetching can be used in connection with a branch prediction scheme that attempts to predict which memory location the processor will need next based on a probable outcome of a calculation. Pre-fetching is used in additional and alternative types of systems and in connection with additional and alternative processing schemes or techniques.